(function() {

	require(['jquery', 'jbox', __uri('./app.js')], function() {

		$(function() {

			var timeout;
			var keywords = $('input[name=keywords]');
			var form = $('#frmFiltSearch');
			var feature = form.find('input[name=feature]');
			var sortType = form.find('input[name=sortType]');
			var descendOrder = form.find('input[name=descendOrder]');
			var priceEnd = form.find('input[name=priceEnd]');
			var priceStart = form.find('input[name=priceStart]');
			var quantityBegin = form.find('input[name=quantityBegin]');
			var city = form.find('input[name=cityCode]');
			var fvalue = feature.attr('value');
			var province = form.find('input[name=province]');
			var set = '';//记录上一次所选属性

			function getUrl(name) {

     			var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     			var r = window.location.search.substr(1).match(reg);
     			return r ? decodeURIComponent(r[2]) : null;
			}

			getUrl('keywords') ? keywords.val(getUrl('keywords').replace(/\+/gi, ' ')) : '';

			sortType.val() != '' ?
				$('.sort .btn[type='+ sortType.val() +']').addClass('active' + (descendOrder.val()?descendOrder.val()=='true'?' down':'':''))
				.siblings('.btn').removeClass('active down') : 
				$('.sort .btn[type=all]').addClass('active').siblings('.btn').removeClass('active up');

			if(quantityBegin.val() && quantityBegin.val()!='0') $('.sort .price input.begin').val(quantityBegin.val());
			if(priceStart.val() && priceStart.val()!='0.0') $('.sort .price input.min').val(priceStart.val());
			if(priceEnd.val() && priceEnd.val()!='0.0') $('.sort .price input.max').val(priceEnd.val());

			var array = ['isnew', 'isbest', 'ismixed'];
			for(var i=0;i<array.length;i++) {

				$('input[name='+ array[i] +']').val() == 'Y' ?
					$('.sort .select[type='+ array[i] +']').find('span.checkbox').addClass('sel') :
					$('.sort .select[type='+ array[i] +']').find('span.checkbox').removeClass('sel')
			}
			//初始化添加筛选样式

			$('.subm-list .other-tab button.more').on('click', function() {

				$(this).toggleClass('active');
				if($(this).hasClass('active')) {

					var height = $(this).parent().siblings('.subm-tab-info').height();
					$(this).parents('.subm-list').animate({height: height}, 300);
				} else {

					$(this).parents('.subm-list').animate({height: 32}, 300);
				}
			});

			$('.subm-list .other-tab button.sel').on('click', function() {
				$(this).toggleClass('active');

				if($(this).hasClass('active')) {
					if(!$(this).siblings('button.more').hasClass('active'))
						$(this).siblings('button.more').click();

					$(this).parent().siblings('.subm-tab-info').find('span.checkbox').addClass('can').show();
					$(this).siblings('button.cancel, button.confirm').show();
					$(this).hide().siblings('button.more').hide();
				}
			});

			$('.subm-list .other-tab button.cancel').on('click', function() {

				$(this).parent().siblings('.subm-tab-info').find('span.checkbox').removeClass('can sel').hide();
				$(this).siblings('button.more').click();
				$(this).siblings('button.more, button.sel').show();
				$(this).hide().siblings('button.confirm').hide();
				$(this).siblings('button.sel').removeClass('active');
			});

			$('.subm-list .subm-tab-info ul li a').on('click', function(e) {//属性多选

				if($(this).children('span').hasClass('can')) {
					e.preventDefault();
					$(this).children('span').toggleClass('sel');
				}
			});

			$('.subm-list .other-tab button.confirm').on('click', function() {//多选确认

				var data = fvalue == '' ? '' : (fvalue + ';');
				$(this).parents('.subm-list').find('.subm-tab-info ul li span.checkbox.sel').each(function(i, item) {

					if(set == '') {
						data += $(this).parent().attr('data');
						set = $(this).parent().attr('data');
					}
					else
						data += (',' + $(this).parent().attr('data'));

				});
				set = '';
				feature.attr('value', data);
				form.submit();
			});

			var otherList = $('.a-list .inner .other-list');
			$('.a-list .inner span.see-more').click(function() {
				var _this = $(this);
				if(!otherList.hasClass('active')) {
					$(this).html('收起')
					otherList.addClass('active').animate({height: otherList[0].scrollHeight}, 300, function() {
						otherList.css('height', 'auto');
					});
				}
				else {
					$(this).html('查看更多')
					otherList.removeClass('active').animate({height: 0}, 300);
				}
			});

			var jbox = '';

			$('.sort .dropdown.area').on('mouseover', function() {//地区

				$('.sort .dropdown.area > ul').fadeIn(100);
			}).on('mouseleave', function() {

				$('.sort .dropdown.area > ul').fadeOut(100);
			});

			$('.sort .dropdown.area > ul.pr li').on('mouseover', function() {

				var pos = $(this).position();

				if($(this).attr('content')) {
					
					pos.left>=240?
					$('.sort .dropdown.area ul.citys').html(area($(this).attr('content').split(','), 't2', pos)).
					attr('style', 'right:'+ (480- pos.left) +'px;'):
					
					$('.sort .dropdown.area ul.citys').html(area($(this).attr('content').split(','), 't1', pos)).
					attr('style', 'left:'+ (pos.left+80) +'px;')


					$('.sort .dropdown.area ul.citys').show();
				}

			}).on('mouseleave', function(e) {

				if($(e.toElement).parents('ul.citys').length == 0)
					$('.sort .dropdown.area ul.citys').hide();
			});

			$('.sort .dropdown.area ul.citys').mouseleave(function() {

				$(this).hide();
			});

			function area(city, t, pos) {

				var citys = '';
				$(city).each(function(i, item) {

					citys += '<li>'+ item +'</li>'
				});
				return citys + (t=='t1'?'<i class="t1" style="top:'+ (pos.top-20) +'px"></i>':'<i class="t2" style="top:'+ (pos.top-20) +'px"></i>');
			}

			$(document).on('click', '.sort .dropdown.area li', function() {

				if($(this).html() == '所有区域') {
					city.val('');
					province.val('');
				} else if($(this).hasClass('province')) {
					province.val($(this).html());
					city.val('');
				} else {
					city.val($(this).html());
					province.val('');
				}
				form.submit();
			});

			$('.sort .btn').on('click', function() {//升降序

				if($(this).attr('up') == $(this).attr('down') && $(this).hasClass('active'))
					return false;

				sortType.attr('value', $(this).attr('type')!='all'?$(this).attr('type'):'');

				$(this).hasClass('down') ? descendOrder.attr('value', $(this).attr('up')) : descendOrder.attr('value', $(this).attr('down'));
				form.submit();
			});

			$('.sort .price input').on('focus', function() {

				$('.sort .price').addClass('active');
			}).on('blur', function(e) {

				if($(e.relatedTarget).parents('.sort .price').length == 0)
					$('.sort .price').removeClass('active');
					
			}).on('change', function() {//左侧搜索只能输入数字
				this.value = this.value.replace(/\D/gi,'');
			}).on('keypress', function(e) {

				if(e.keyCode == 13)
					$('.sort .price button').click();
			});

			$('.sort .price button').on('click', function() {//价格筛选
				
				var min = $('.sort .price input.min');
				var max = $('.sort .price input.max');
				var begin = $('.sort .price input.begin')
				priceStart.attr('value', min.val() != '' ? min.val() : 0);
				priceEnd.attr('value', max.val() != '' ? max.val() : 0);
				quantityBegin.attr('value', begin.val() != '' ? begin.val() : 0);
				form.submit();
			});

			$('.sort .select').on('click', function() {

				form.find('input[name='+ $(this).attr('type') +']').attr('value', $(this).find('span.checkbox').hasClass('sel') ? 'N' : 'Y');
				form.submit();
			});

			var sortTop = $('.sort').offset().top;
			var showMT = $('.show-area').css('margin-top');
			$(window).scroll(function() {

				if($(this).scrollTop() >= sortTop) {

					$('.sort').css({
						position: 'fixed',
						top: 0,
						left: 0
					}).find('form.search-bar').fadeIn(150);

					$('.show-area').css('margin-top', parseInt(showMT) * 2 + $('.sort').height());
				} else {
					$('.sort').removeAttr('style').find('form.search-bar').fadeOut(150);;
					$('.show-area').removeAttr('style');
				}
			});
		});
	});//require
})();